Diese Funktion berechnet einen gleitenden arithmetischen Mittelwert aus LReal-Werten.
Die Methode kann zur Glättung von Datenreihen verwendet werden, die Werte können zyklisch oder getriggert eingelesen werden.
| LGF_SimpleAveraging (FB) | ||||||||
|---|---|---|---|---|---|---|---|---|
| Bool | cyclicExecution | average | LReal | |||||
| Bool | trigger | overflow | Bool | |||||
| Bool | reset | |||||||
| LReal | value | |||||||
| USInt | windowSize | |||||||
| Bezeichner | Datentyp | Default Wert | Beschreibung |
|---|---|---|---|
| cyclicExecution | Bool | FALSE | TRUE: Zyklisches Einlesen, trigger nicht verwendet |
| trigger | Bool | FALSE | Steigende Flanke: Einlesen von `value` bei jedem Impuls am Eingang `trigger` |
| reset | Bool | FALSE | TRUE: Der Baustein wird zurückgesetzt und die Berechnung beginnt erneut. |
| value | LReal | 0.0 | Wert/e, aus welchen der gleitende Mittelwert bestimmt werden soll. |
| windowSize | USInt | 5 | Fensterlänge für die gleitende Mittelung im Bereich von 1..255 |
| Bezeichner | Datentyp | Beschreibung |
|---|---|---|
| average | LReal | Gleitender Mittelwert |
| overflow | Bool | TRUE: Überlauf der in der Berechnung erkannt |
LGF_SimpleAveraging führt keine Datentypabfrage für den Eingangsparameter value durch. Bei anderen Datentypen als LReal wird entweder automatisch eine implizite Konvertierung durchgeführt oder ein Fehler beim Übersetzen generiert.Der Block berechnet den (gleitenden) Mittelwert auf der Grundlage der eingestellten windowSize. Wenn windowSize auf windowSize < 1 gesetzt ist, wird der Wert ohne Mittelwertbildung durchgereicht.
Für das Auslesen der Werte gibt es zwei Möglichkeiten:
cyclicExecution werden die Werte zyklisch gelesen und berechnet.Trigger werden die Werte bei jedem Impuls eingelesen und berechnet.Wenn die Berechnung die Wertebereichs Grenzen von LReal erreicht, wird der Ausgang overflow gesetzt.
| Version & Datum | Änderungsbeschreibung | |
|---|---|---|
| 1.0.0 | Simatic Systems Support | |
| 18.07.2024 | First Release | |